import sourceMap from 'source-map-js';
import { useSourcemapInfo } from '../stores/sourcemapInfo';
const getSourceMap = async (stackFrame) => {
  console.log(stackFrame, 'stackFrame');

  fetch('/log/log-error', {
    method: 'POST',
    body: JSON.stringify(stackFrame), // 发送请求的主体内容，通常是一个字符串或一个对象，这里使用 JSON 格式的请求体
    headers: {
      // 请求头信息，用于指定请求的类型和其他元数据
      'Content-Type': 'application/json', // 表示请求体的内容类型为 JSON 格式
    },
  })
    .then((res) => {
      if (!res.ok) {
        throw new Error(`HTTP error! Status: ${res.status}`);
      }
      // 将响应数据解析为 JSON
      return res.json();
    })
    .then((data) => {
      // 处理响应数据
      console.log(data, 'map文件内容');
      return data;
    });
};

const findCodeBySourceMap = async (stackFrame) => {
  // const { setSourcemapInfo } = useSourcemapInfo();
  // 获取map文件
  await getSourceMap(stackFrame);

  // // 解析sourceMap文件
  // const consumer = await new sourceMap.SourceMapConsumer(sourceData);

  // // 通过报错的位置查找对应的源文件的名称和报错行数
  // const originalPosition = consumer.originalPositionFor({
  //   line: stackFrame.lineNumber,
  //   column: stackFrame.columnNumber || 0,
  // });
  // const code = consumer.sourceContentFor(originalPosition.source);

  // setSourcemapInfo({
  //   code,
  //   line: originalPosition.line,
  //   column: originalPosition.column,
  // });
};

export { findCodeBySourceMap };
